Technical Field of the Invention
This invention relates generally to computer networks and more particularly to data communication systems.
Description of Related Art
The use of computing devices to communicate text files, voice files, multimedia files, and even live data streaming is well known. Most computing devices utilize the Internet protocol (IP) to communicate via the Internet. The Internet protocol is well known to be the primary network communications protocol utilized on the Internet, where IP provides a network layer protocol in accordance with one or more industry standards such as transmission control protocol (TCP), user datagram protocol (UDP), and stream control transmission protocol (SCTP). It is also well-known for computing devices to utilize a transport protocol on top of the network layer protocol to transport data between computing devices, where the transport protocol is in accordance with one or more industry standard session protocols such as hypertext transfer protocol (HTTP) and Message queue telemetry transport (MQTT). In particular, it is known that MQTT may be used as a messaging protocol on top of TCP where network bandwidth is limited.
The Internet of things (IoT) is known to include an interworking of smart devices (e.g., computers, sensors, actuators) that enables the smart devices to collect and exchange machine data across existing network infrastructure to further integrate physical world entities of the smart devices into computer systems to provide benefit (e.g., lower costs, more efficiency, more accuracy, etc.). IoT example smart devices include smart thermostats networked with heating and air-conditioning systems, refrigerators that sense content and automatically order replacement food items, lighting systems that detect actual need and adjust lighting levels to reduce costs, and home environmental monitors that monitor and report flooding, smoke, and fire. Internet of things systems may include tens, hundreds, and even thousands of smart devices within a common physical area. Communication of information from thousands of co-located smart devices is known to be challenging from an organization perspective and physical communication perspective.
Such Internet of things smart devices are known to communicate smaller amounts of data as compared to general computing devices communicating the text files, audio files, multimedia files, and live data streaming. It is also known that many Internet industry standards were not optimal for utilization by IoT devices. As such, further industry standards have resulted in a focus on so-called constrained devices where lower power devices and lossy networks may be joined by the Internet. One such resulting industry standard is the constrained application protocol (CoAP) which provides a service layer protocol over the session protocol HTTP over the network layer protocol UDP. It is also known that there are at least tens of variants of CoAP which provides flexibility but with added complexity (e.g., simultaneously supporting multiple software protocol agents on a single IoT smart device) and a potential for incompatibility of devices when they are unequipped to communicate in a common variant of the standard.
Computing devices (e.g., including IoT smart devices) are generally required to understand every protocol and data format from the various devices connected to the same network. Existing solutions require: (1) multiple protocol software agents on the computing device; (2) computing device-specific protocol software agents on the computing device; and/or (3) a universal translation software agent on the computing device that converts data from any protocol to a specific protocol and data format. It is also known that modifying installed base computing devices to include such multiple protocol software agents can require significant time, effort, resources, and diligence. In some cases, the complexity increases even further when computing devices are required to communicate with multiple other computing devices simultaneously on the network, where each of the other computing devices utilizes a different data protocol.